#ifndef _ABSTRACT_PRODUCT_A_H
#define _ABSTRACT_PRODUCT_A_H

class AbstractProductA
{
public:
	AbstractProductA();
	virtual ~AbstractProductA();
	
public:
	virtual void OperationA() = 0;
};

class ProductA_1 : public AbstractProductA
{
public:
	ProductA_1();
	~ProductA_1();
	
public:
	virtual void OperationA();
};

class ProductA_2 : public AbstractProductA
{
public:
	ProductA_2();
	~ProductA_2();
	
public:
	virtual void OperationA();
};

#endif // _ABSTRACT_PRODUCT_A_H